Міністерство освіти і науки України
Національний університет водного господарства і природокористування
Кафедра електротехніки і автоматики
Індивідуальне навчально-дослідне завдання
з курсу
Комп’ютерна техніка і організація обчислювальних робіт”
на тему:
“Організація роботи оперативної пам`яті DIMM DDR2 SDRAM”
Виконав:
студент ФПМіКІС
спеціальності АУТП
Рівне-2008
Мікросхеми динамічної пам'яті є згрупованим масивом конденсаторів - матрицею, що складається з рядків (rows) і стовпців (columns). Для перетворення аналогової величини заряду, накопиченої в конденсаторах, використовуються спеціальні підсилювачі. Крім цього, передбачені спеціальні ланцюги для заряджання конденсаторів і для запису даних.
Щоб прочитати інформацію, записану в комірці, спочатку подається сигнал Row Access Strobe (RAS), виконуючи який ми потрапляємо на потрібний рядок. При цьому заряди всього рядка поступають на підсилювачі і через деякий час можуть бути зчитані. Така операція називається активацією рядка.
Далі, отримуючи команду Column Access Strobe (CAS), ми виходимо на шукану комірку рядка. Після цього при отриманні команди Read відбувається зчитування інформації, а при директиві Write - її запис. Поки рядок залишається активним, можливі зчитування або запис і інших елементів пам'яті. При читанні інформації з комірок у конденсаторів втрачається заряд, тому їх необхідно періодично підзаряджати. Ця операція відбувається після того, як закінчується час активності рядка. Після її закриття подальше зчитування даних неможливе без повторної активації.
Елемент пам'яті через свої фізичні можливості здатний зберігати тільки один біт інформації. Для зберігання 1 байта використовується 8 елементарних елементів пам'яті. При цьому вони адресуються однаково і організовані з використанням шини даних шириною в 8 ліній. Такі об'єднані комірки утворюють слово.
Для прискорення процесу зчитування даних з різних ділянок пам'яті використовується технологія з декількома масивами, або банками пам'яті. Їх можна уявити собі як книгу, що складається з деякого числа сторінок-матриць. Банки працюють абсолютно незалежно один від одного. Наприклад, дані можна прочитувати з пам'яті одного, обробляти і закладати в пам'ять іншого. При цьому будуть відсутні затримки на активацію і закриття рядків даних в масиві пам'яті, що спостерігалося б у разі одного банку. Подібна архітектура значно прискорює процес доступу до даних. Контролер пам'яті при зверненні використовує номер банку, номер рядка і номер колонки масиву пам'яті. Тобто, маючи номер банку, RAS і CAS, цей чіп знає точні координати потрібного йому елементу пам'яті.
Природно, що на кожну операцію зчитування даних з пам'яті потрібний час. Тут ми стикаємося з так званими таймінгами, або затримками, які характеризують швидкодію модуля і вимірюються в тактах або наносекундах.
Після видачі команди RAS для вибору потрібного рядка потрібний час на її активацію, який зазвичай складає 2-5 тактів. Дану затримку прийнято називати Ras-to-cas Delay (RCD). Після цього очікування контролер пам'яті ініціалізує команду вибору стовпця і після часу, рівного затримці CAS, прочитує дані. Цей параметр прийнято називати CAS Latency (CL), на практиці він зазвичай так само варіюється від 2 до 5 тактів. Після отримання інформації відбувається відновлення заряду на прочитаних комірках вибраного рядка, на що потрібний час, рівний RAS Precharge (RP). Ще один важливий параметр - це RAS Active to Precharge Delay (TRAS), який означає кількість тактів, протягом яких рядок повинен бути активним, перш ніж буде видана команда на заряджання.
Всі ці величини впливають в першу чергу на так звану латентність пам'яті, тобто на сумарний час очікування процесором передачі даних, що знаходяться в оперативній пам'яті. Латентність вимірюється в тактах або в наносекундах, як і таймінги.
Очевидно, що чим менша затримки, тим нижча і латентність, тим швидше відбувається робота з пам'яттю, тим більше загальна продуктивність комп`ютера. Проте надмірне зниження таймінгів мож...